package br.com.projetus.dominio;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

import org.hibernate.annotations.Entity;

/**
 * @author Equipe teste
 * @since 01/07/2010
 * @version 1.0
 */

@Entity
public class Produto implements Serializable {
	private static final long serialVersionUID = -8635778934504104685L;

	private Long id;
	private String codigo;
	private String descricao;
	private Date dataEstoque;
	private BigDecimal quantidade;
	private BigDecimal vrUnitario;

	@Id
	@GeneratedValue
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getCodigo() {
		return codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	@Temporal(TemporalType.TIMESTAMP)
	public Date getDataEstoque() {
		return dataEstoque;
	}

	public void setDataEstoque(Date dataEstoque) {
		this.dataEstoque = dataEstoque;
	}

	public BigDecimal getQuantidade() {
		if(quantidade == null) {
			quantidade = new BigDecimal(0);
		}
		return quantidade;
	}

	public void setQuantidade(BigDecimal quantidade) {
		this.quantidade = quantidade;
	}

	public BigDecimal getVrUnitario() {
		if(vrUnitario == null) {
			vrUnitario = new BigDecimal(0);
		}
		return vrUnitario;
	}

	public void setVrUnitario(BigDecimal vrUnitario) {
		this.vrUnitario = vrUnitario;
	}

	@Transient
	public BigDecimal getVrTotal() {
		return getQuantidade().multiply(getVrUnitario());
	}

}